home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2004 #2
/
Amiga Plus CD - 2004 - No. 02.iso
/
AmigaPlus
/
Tools
/
Development
/
AmigaTalk
/
help
/
boopsidocs
/
radiobutton_gc.doc
< prev
next >
Wrap
Text File
|
2004-01-31
|
9KB
|
254 lines
TABLE OF CONTENTS
radiobutton_gc/--datasheet--
radiobutton_gc/RADIOBUTTON_GetClass
radiobutton_gc/AllocRadioButtonNodeA
radiobutton_gc/FreeRadioButtonNode
radiobutton_gc/GetRadioButtonNodeAttrsA
radiobutton_gc/SetRadioButtonNodeAttrsA
radiobutton_gc/--datasheet-- radiobutton_gc/--datasheet--
NAME
radiobutton_gc -- create radiobutton BOOPSI objects
SUPERCLASS
gadgetclass
REQUIRES
bevel.image, glyph.image
DESCRIPTION
The radiobutton gadget class is used to create a mutually exclusive
(MX) selection button group. Selection of an associated option is
denoted by the depressed/filled button. Unlike GadTools, GA_Width and
GA_Height to not specify the size of a single radio button. Instead
it marks the entire domain of the gadget which allows for easier
group layout. When used outside of a layout group you must be
sure to provide enough space for the gadget to completly render
all radio buttons and labels. However, within a layout group such
as ReAction's own layout.gadget this is automatic and of no
concern to the application programmer.
Advantages that this class provides over the standard gadtools
radiobutton (MX_KIND) are:
> Strumming of the radio buttons with the mouse.
> Aspect correct scaled buttons with any screen resolution or font.
> Works under OS 2.0 or greater.
METHODS
OM_NEW -- Passed to superclass first, defaults set, then OM_SET.
OM_SET -- Passed to superclass first, then custom tags set.
OM_GET -- Returns requested setting or passed to superclass
OM_DISPOSE -- Passed to superclass.
GM_GOACTIVE -- Passed to superclass first, then radio activated
GM_GOINACTIVE -- Passed to superclass first, then radio deactivated
GM_HANDLEINPUT -- Handles button selection/strum. Overrides superclass.
GM_HITTEST -- Overrides superclass, returns GMR_HITTEST.
GM_RENDER -- Renders radio button(s).
GM_DOMAIN -- Returns GDOMAIN_MINIMUM and GDOMAIN_MAXIMUM dimensions.
GM_KEYACTIVE -- Activates button via keyboard. Advances selection
to the next item (down), if SHIFT is pressed, it selects
the previous item (up). Invoked by window.class only.
GM_KEYINACTIVE -- Deactivates gadget. Invoked by window.class only.
All other methods are passed to the superclass.
ATTRIBUTES
GA_ID (WORD)
Applicability is (OM_NEW, OM_SET, OM_UPDATE, OM_NOTIFY)
GA_TextAttr (struct TextAttr *)
Used to set the text font to render the radiobutton labels.
Defaults to RPort->Font, which is often the screen or
window font.
Applicability is (OM_NEW, OM_SET, OM_UPDATE)
RADIOBUTTON_Labels (struct List *)
Used to set the text labels for the radiobutton group.
Defaults to NULL.
Applicability is (OM_NEW, OM_SET, OM_UPDATE)
RADIOBUTTON_Spacing (WORD)
Spacing between the radio buttons.
Defaults to 1.
Applicability is (OM_NEW, OM_SET, OM_UPDATE, OM_NOTIFY)
RADIOBUTTON_Selected (WORD)
Currently selected radio button number.
Defaults to 0.
Applicability is (OM_NEW, OM_SET, OM_UPDATE)
RADIOBUTTON_LabelPlace (WORD)
Location of radiobutton text labels. Supports:
PLACETEXT_RIGHT
Defaults to PLACETEXT_RIGHT.
Applicability is (OM_NEW, OM_SET, OM_UPDATE)
NOTES
GA_Height and GA_Width DO NOT specify the actual button size, but
rather the entire "hit box" area which includes the text label.
When being used with layout.gadget it will domain to a proper
size to hold the number of buttons and largest text labels.
Take care when designing interfaces with out layout to set
a proper height and width to hold the radiobutton imagery.
This may be done via sending a BOOPSI GM_DOMAIN GDOMAIN_MINIMUM
method message to the object with DoGadgetMethod(), or computing
a minimum size based on font height and length. In otherwords,
use layout, its alot easier! :)
radiobutton_gc/RADIOBUTTON_GetClass radiobutton_gc/RADIOBUTTON_GetClass
NAME
RADIOBUTTON_GetClass -- Gets the pointer to the radiobutton class.
SYNOPSIS
radiobutton_class = RADIOBUTTON_GetClass();
D0
Class * RADIOBUTTON_GetClass(VOID);
FUNCTION
Obtains the pointer to the RadioButton gadget class for use with
NewObject(). This function always returns a valid pointer so
you do not need to check it. The reason is that if the library
opens fine, then the pointer returned is already setup. (Of course
this implies that if opening the library fails, you shouldn't be
calling this.)
Note that this function does not create the class, that is done
when the class library is opened.
INPUTS
Nothing.
RESULT
radiobutton_class - Pointer to the RadioButton gadget class.
SEE ALSO
radiobutton_gc/AllocRadioButtonNodeA radiobutton_gc/AllocRadioButtonNodeA
NAME
AllocRadioButtonNodeA -- Allocate a RadioButton node. (V40)
SYNOPSIS
struct Node * AllocRadioButtonNode(UWORD, Tag, ...)
node = AllocRadioButtonNode(columns, Tag, ...)
struct Node * AllocRadioButtonNodeA(UWORD, struct TagItem *)
node = AllocRadioButtonNodeA(taglist)
FUNCTION
Allocates a node that can be added to the Exec linked list of
labels in the radiobutton. This is the only way to allocate a
node for this list, you cannot allocate nodes yourself because
the RadioButton class uses a private node structure.
INPUTS
taglist - Attributes for the node, passed onto
SetRadioButtonNodeAttrsA().
RESULT
node - A node that can be added into the Exec list of labels for
a RadioButton gadget.
SEE ALSO
FreeRadioButtonNode(), SetRadioButtonNodeAttrsA()
radiobutton_gc/FreeRadioButtonNode radiobutton_gc/FreeRadioButtonNode
NAME
FreeRadioButtonNode -- Free a RadioButton node. (V40)
SYNOPSIS
VOID FreeRadioButtonNode(struct Node *)
FreeRadioButtonNode(node)
FUNCTION
Frees a RadioButtonNode allocated with AllocRadioButtonNodeA().
INPUTS
node - The node to free.
SEE ALSO
AllocRadioButtonNodeA()
radiobutton_gc/GetRadioButtonNodeAttrsA radiobutton_gc/GetRadioButtonNodeAttrsA
NAME
GetRadioButtonNodeAttrsA -- Get attributes about a RadioButton node. (V40)
SYNOPSIS
VOID GetRadioButtonNodeAttrs(struct Node *, Tag, ...)
GetRadioButtonNodeAttrs(node, firsttag, ...)
VOID GetRadioButtonNodeAttrsA(struct Node *, struct TagItem *)
GetRadioButtonNodeAttrsA(node, taglist)
FUNCTION
The RadioButton uses a private node structure and all attributes
are hidden, and must therefore be accessed with this function.
INPUTS
node - The RadioButton node to get the information on.
taglist - A tag list of attributes to get. ti_Tag is the attribute
to get and ti_Data is a pointer to a location to copy the result
to.
SEE ALSO
SetRadioButtonNodeAttrsA()
radiobutton_gc/SetRadioButtonNodeAttrsA radiobutton_gc/SetRadioButtonNodeAttrsA
NAME
SetRadioButtonNodeAttrsA -- Set attributes of a RadioButton node. (V40)
SYNOPSIS
VOID SetRadioButtonNodeAttrs(struct Node *, Tag, ...)
SetRadioButtonNodeAttrs(node, firsttag, ...)
VOID SetRadioButtonNodeAttrsA(struct Node *, struct TagItem *)
SetRadioButtonNodeAttrsA(node, taglist)
FUNCTION
Changes attributes for a RadioButton node. Since the RadioButton
class uses a private node structure, this is the only way to change
node attributes.
You may NOT change node attributes when the node is in a list
attached to a RadioButton gadget. You must first detach the list
with RADIOBUTTON_Labels, ~0 before you can change attributes, and
then re-attach the list.
TAGS
RBNA_Label (STRPTR)
INPUTS
node - Node whose attributes you are changing.
taglist - Tag list of attributes to change.
SEE ALSO
GetRadioButtonNodeAttrsA()